package com.foftact.blockposition.service;

import com.foftact.blockposition.BlockPosition;

import java.util.List;

/**
 * 板块成分股服务接口
 */
public interface BlockPositionService {
    /**
     * 抓取并保存板块成分股数据
     * @return 抓取并保存的记录数
     */
    int fetchAndSaveBlockPositionData(String blockCode);

    /**
     * 保存单条板块成分股数据
     * @param blockPosition 板块成分股数据对象
     * @return 保存的行数
     */
    int saveBlockPosition(BlockPosition blockPosition);

    /**
     * 批量保存板块成分股数据
     * @param blockPositions 板块成分股数据列表
     * @return 保存的行数
     */
    int batchSaveBlockPosition(List<BlockPosition> blockPositions);

    /**
     * 根据市场码和股票代码获取板块成分股数据
     * @param marketCode 市场码
     * @param code 股票代码
     * @return 板块成分股数据对象
     */
    BlockPosition getBlockPositionByMarketCodeAndCode(Integer marketCode, String code);

    /**
     * 根据板块代码获取板块成分股数据列表
     * @param blockCode 板块代码
     * @return 板块成分股数据列表
     */
    List<BlockPosition> getBlockPositionsByBlockCode(String blockCode);

    /**
     * 获取所有板块成分股数据
     * @return 板块成分股数据列表
     */
    List<BlockPosition> getAllBlockPositions();

    /**
     * 删除超过指定天数的数据
     * @param days 天数
     * @return 删除的行数
     */
    int deleteOldData(int days);
}